﻿//---------------------------------------------------------------------------------
// Copyright 2011 Microsoft Corporation
// Licensed under the Microsoft Public License (MS-PL) (the "License"); 
// You may not use this file except in compliance with the License. 
// You may obtain a copy of the License at http://www.opensource.org/licenses/ms-pl.html
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR 
// CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, 
// INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR 
// CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
// MERCHANTABLITY OR NON-INFRINGEMENT. 
// See the Microsoft Public License (MS-PL) for the specific language governing 
// permissions and limitations under the License.
//---------------------------------------------------------------------------------

using System.Runtime.Serialization;

namespace Microsoft.Telco.Web.Contracts
{

	/// <summary>
	/// Fault that indicates the client is not authenticated, or that authentication has expired.
	/// </summary>
	[DataContract(Namespace=Namespaces.V1)]
	public class AuthenticationFault
	{

		/// <summary>
		/// Initializes a new instance of the <see cref="AuthenticationFault"/> class.
		/// </summary>
		public AuthenticationFault() { }

		/// <summary>
		/// Initializes a new instance of the <see cref="AuthenticationFault"/> class.
		/// </summary>
		/// <param name="system">The system.</param>
		public AuthenticationFault(string system)
		{
			System = system;
		}

		/// <summary>
		/// Gets or sets the system for which the authentication failed.
		/// </summary>
		/// <value>The system.</value>
		[DataMember]
		public string System { get; set; }

		/// <summary>
		/// Gets or sets the consent URL.  The client should navigate to this Url to generate an access token.
		/// </summary>
		/// <value>The consent URL.</value>
		[DataMember]
		public string ConsentUrl { get; set; }

	}

}
